﻿define(function(require,exports,module) {
    var myPub = require('./public');

    $(function() {

        var oPhotoListLi = $('.js_photoList').find('li');   // 上传图片数量
        //var oClipBox = $('.js_ClipBox');                  // 图片截取范围
        var oClipArea = $('.js_clipArea');                  // 图片区域
        //var oClipBtn = $('.js_clipBtn');                  // 截图按钮
        var oFileAddr = $('.js_file');                      // 图片地址
        var oViewBox = $('.js_view');                       // 成功后预览图
        var addPhotoBox = $('.js_addPhotoBox');             // +号图标
        //var oCancelBtn = $('.js_cancelBtn');              // 取消选中的图片
        var oDelBtn = $('.js_delBtn');                      // 删除图片

        var $voucher = $('#voucher');                       // 售后凭证
        var vouchers = [];
        var oLoadImgShadow = $('.js_loadImgShadow')         //加载过度层

        var myDoMain;
        var imgUrl = myPub.httpImageUrl;
        //if(myPub.httpImageUrl)  shop.fx-sf.com localhost:8082 m.sfddj.com
        if(window.location.host == 'm.sfddj.com' || window.location.host == '120.76.47.184' || window.location.host == '120.76.207.85' || window.location.host == '120.76.44.28') {
            myDoMain = 'https://m.sfddj.com';
        }
        else if(window.location.host == 'shop.fx-sf.com') {
            myDoMain = 'https://shop.fx-sf.com';
        }
        else if(window.location.hostname == 'itsm.sfddj.com') {
            myDoMain = 'https://itsm.sfddj.com';
        }
        else if(window.location.hostname == 'localhost') {
            myDoMain = 'http://localhost:8082';
        }

        var uploadUrl = '';
        if(oPhotoListLi.length>3) {
        	if(window.location.pathname.indexOf('showPreRefund') >= 0){
                // 先行赔付
                uploadUrl = '/utils/uploadPreRefundImg';
        	}
        	else{
        		// 评论
            	uploadUrl = '/utils/uploadCommentImg';
        	}
        }
        else {
            // 售后
            uploadUrl = '/utils/uploadImg';
        }



        function InsertImg(aData, callBack) {
            oPhotoListLi.hide();
            addPhotoBox.show();
            oViewBox.hide().find('img').attr('src','');
            oViewBox.hide().find('img').attr('imgData','');
            for (var i=0; i<aData.length; i++) {
                oPhotoListLi.eq(i).show();
                addPhotoBox.eq(i).hide();
                oViewBox.eq(i).show().find('img').attr('src',imgUrl + aData[i]);
                oViewBox.eq(i).show().find('img').attr('imgData',aData[i]);
            }
            if(callBack)callBack()
        }


        var _off = [true,true,true]; 	//上传开关
        var maxKB = 5*1024*1024;		//图片最大5M
        oPhotoListLi.each(function(i) {
            ClipPhoto(
                oClipArea.eq(i),
                oFileAddr.eq(i),
                /* oClipBtn.eq(i), */
                function(file) {
                    // 开始
                    //oLoadingPage.show();
                    //console.log(file)
                    //判断图片大小
                    file.size > maxKB ? _off[i] = false : _off[i] = true;
                }, function(src) {
                    // 加载完成
                    //http://shop.fx-sf.com/utils/uploadImg

                    if(_off[i]) {
                        // 不显示裁剪区域
                        var base64Voucher = src;
                        // oViewBox.eq(i).show().find('img').attr('src',src);
                        // addPhotoBox.eq(i).hide();
                        vouchers[i] = base64Voucher;

                         G_JSON_POST(myDoMain + uploadUrl,{'base64Voucher':src},function(data) {
                             if(data.status == 'true') {
                                 oViewBox.eq(i).show().find('img').attr('src', imgUrl + data.message).attr('imgData',data.message);
                                 vouchers[i] = oViewBox.eq(i).show().find('img').attr('imgData');
                                 addPhotoBox.eq(i).hide();
                                 //$voucher.val(vouchers.join('^'));
                                 $voucher.val(vouchers.join(','));
                                 }
                             else {
                                 myPub.TipLayer(data.message);
                             }

                             },function() {
                                 //开始时 console.log('start')
                                 oLoadImgShadow.eq(i).show();
                             },function () {
                                 //完成时 console.log('over');
                                 oLoadImgShadow.eq(i).hide();
                             InsertImg(vouchers, function () {
                                 oPhotoListLi.eq(i).next('li').show();
                             });
                         })

                        //oLoadingPage.hide();

                    }
                    else {
                        //oLoadingPage.hide();
                        myPub.TipLayer('图片大于5M，请重新上传！');
                    }

                    // 显示裁剪区域
                    // var beforImg = $('.photo-clip-view').find('img');
                    // $('.layermcont').find('p').remove();
                    // myPub.LayerCloseAll();
                    // oClipBox.show();
                    // oClipArea.hide().eq(i).show();
                    // 取消载入的图片
                    // oCancelBtn.eq(i).hammer().on('tap',function() {
                    // var _cont = "亲！您确定要退出截图吗？";
                    // myPub.askLayer(_cont,function() {
                    // beforImg.eq(i).attr('src','');
                    // oClipBox.hide();
                    // oClipArea.eq(i).hide();
                    // myPub.LayerCloseAll();
                    // },function() { });
                    // });

                },function(event) { //加载失败
                },function(dataURL) { //剪切完成
                    // var beforImg = $('.photo-clip-view').find('img');
                    // beforImg.attr('src','');
                    // oViewBox.eq(i).show().find('img').attr('src',dataURL);
                    // addPhotoBox.eq(i).hide();
                    // oClipBox.hide();
                }
            );

            // 删除准备上传的照片
            oDelBtn.eq(i).on('click', function(e) {
                var _cont = "亲！您确定要删除此照片吗？";
                myPub.askLayer(_cont,function() {

                     G_JSON_POST(myDoMain + '/utils/deleteImg',
                         {
                             'imgUrl' : oViewBox.eq(i).find('img').attr('imgData')
                         },function(data) {
                             if(data && data.data) {
    //		                         vouchers[i] = '';
    //		                         oViewBox.eq(i).hide().find('img').attr('src','').attr('imgData', '');
    //		                         addPhotoBox.eq(i).show();
    //		                         $voucher.val(vouchers.join('^'));

                                 vouchers.splice(i,1);
                                 InsertImg(vouchers, function () {
                                     oPhotoListLi.eq(vouchers.length).show();
                                     myPub.LayerCloseAll();
                                 });
                                 $voucher.val(vouchers.join(','));
                             }
                         },function() {
                         //开始时 console.log('start')
                         },function () {
                         //取消
                             myPub.LayerCloseAll();
                         });


                    // vouchers[i] = '';

                },function() {
                    myPub.LayerCloseAll();
                });
                e.stopPropagation()
            });
        });
    });



    function ClipPhoto (obj,file,/*ok,*/start,complet,erro,finish) {
        obj.photoClip({
            //size: [300, 300],       	// 截取框的宽和高 默认值为[260,260]
            outputSize: [0, 0],     	// 输出图像的宽和高 默认值为[0,0]，表示输出图像原始大小
            outputType: "jpg" || "png", // 指定输出图片的类型，可选 "jpg" 和 "png" 两种种类型，默认为 "jpg"
            file: file,             	// 上传图片的<input type="file">控件的选择器
            //view: view,           	// 显示截取后图像的容器的选择器
            //ok: ok,                 	// 确认截图按钮的选择器
            loadStart: function(file) {start(file);}, // 开始加载的回调函数
            loadComplete: function(src) {complet(src);}, // 加载完成的回调函数。
            loadError: function(event) {erro(event);}, // 加载失败的回调函数。
            clipFinish: function(dataURL) {finish(dataURL);}, // 裁剪完成的回调函数。

        });
    }



});



